/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.sorbonne.inf5.yams.model.combinaison;

import fr.sorbonne.inf5.yams.exceptions.DeNotRunException;
import fr.sorbonne.inf5.yams.model.De;
import fr.sorbonne.inf5.yams.model.InterfaceFace;
import java.util.List;
import java.util.Map;

/**
 *
 * @author Oukherfellah Riad
 * @author Dubos Romain
 */
public class CarreCombinaison implements Combinaison {

    public static final String intitule="carre";

    public CarreCombinaison() {
    }

    public int calculer(List<De> listeDes) throws DeNotRunException {
        return calculer(CombinaisonUtilitaire.compteOccurenceDe(listeDes));
    }

    public int calculer(Map<InterfaceFace, Integer> listeFaces) {
        if (listeFaces.containsValue(4) || listeFaces.containsValue(5)) {
            int valeurDes = 0;
            for (InterfaceFace f : listeFaces.keySet()) {
                if (listeFaces.get(f) == 4) {
                    valeurDes += Integer.valueOf(f.toString()) * 4;
                }
                if (listeFaces.get(f) == 5) {
                    valeurDes += Integer.valueOf(f.toString()) * 4;
                }
                return 40 + valeurDes;
            }
        }
        return 0;
    }

    public String getIntitule() {
        return intitule;
    }

    @Override
    public String toString() {
        return intitule;
    }
}
